﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web.UI.WebControls;
using libGrid;
using libConexionBD;
using libCombos;

namespace LibProducto
{
    public class clsProducto
    {
        #region Atributos
        private Int32 intcodprod;
        private String strNombreProd;
        private Int32 intValorProd;
        private Int32 intCodTiPro;
        private GridView objGridProdu;
        private DropDownList objCboProducto;
        private DropDownList objcboproductoest;
        private String strCodigoEstado;


      
        private string strError;
        private string strsql;
        #endregion


        #region Propiedaes
        public String CodigoEstado
        {
            get { return strCodigoEstado; }
            set { strCodigoEstado = value; }
        }
       
        public string Error
        {
            get { return strError; }
            set { strError = value; }
        }
        public GridView GridProdu
        {
            get { return objGridProdu; }
            set { objGridProdu = value; }
        }
        public Int32 CodTiPro
        {
            get { return intCodTiPro; }
            set { intCodTiPro = value; }
        }
        public Int32 ValorProd
        {
            get { return intValorProd; }
            set { intValorProd = value; }
        }
        public String NombreProd
        {
            get { return strNombreProd; }
            set { strNombreProd = value; }
        }
        public Int32 codprod
        {
            get { return intcodprod; }
            set { intcodprod = value; }
        }
        public DropDownList CboProducto
        {
            get { return objCboProducto; }
            set { objCboProducto = value; }
        }
        public DropDownList cboproducto
        {
            get { return objcboproductoest; }
            set { objcboproductoest = value; }
        }
        #endregion

        #region Metodos Publicos
        public bool Ingresar()
        {
            if (Validar())
            {
                clsConexionBD objConexionBD = new clsConexionBD();

                strsql = "Execute Prod_insert '" + intcodprod + "','" + strNombreProd + "','" + intValorProd + "','" + intCodTiPro + "','" + strCodigoEstado + "'";
           //     strsql = "Execute Cliente_Insert '" + strCodigoClie + "','" + strNombreClie + "','" + strApellido1Clie + "','" + strApellido2Clie + "','" + strTelefonoClie + "','" + strDireccionClie + "','" + strCodigoZona + "'";
                objConexionBD.SQL = strsql;
                if (objConexionBD.EjecutarSentencia(false))
                {
                    objConexionBD.CerrarConexion();
                    objConexionBD = null;
                    return true;
                }
                else
                {
                    strError = objConexionBD.Error;
                    objConexionBD.CerrarConexion();
                    objConexionBD = null;
                    return false;
                }

            }
            else
            {
                return false;
            }

        }
        
        public bool LlenarGrid()
        {
            if (objGridProdu == null)
            {
                strError = "No definio el Grid";
                return false;
            }
            clsGrid objGrid = new clsGrid();
            objGrid.SQL = "Execute Prod_Grid ";
            objGrid.NombreTabla = "tblProducto";
            objGrid.gridGenerico = objGridProdu;

            if (objGrid.LlenarGridWeb())
            {
                objGrid = null;
                return true;
            }
            else
            {
                strError = objGrid.Error;
                objGrid = null;
                return false;
            }
        }
        public bool Consultar()
        {
            clsConexionBD objConexionBD = new clsConexionBD();
            strsql = " Execute Prod_Select '" + intcodprod + "'";
            objConexionBD.SQL = strsql;

            if (objConexionBD.Consultar(false))
            {
                if (objConexionBD.Reader.HasRows)
                {
                    objConexionBD.Reader.Read();

                    strNombreProd = objConexionBD.Reader.GetString(0);
                    intValorProd = objConexionBD.Reader.GetInt32(1);
                    intCodTiPro = objConexionBD.Reader.GetInt32(2);
                    strCodigoEstado = objConexionBD.Reader.GetString(3);

                    return true;
                }
                else
                {
                    strError = "No hay datos";
                    objConexionBD.CerrarConexion();
                    objConexionBD = null;
                    return false;
                }
            }
            else
            {
                strError = objConexionBD.Error;
                objConexionBD = null;
                return false;
            }

        }
        public bool LlenarComboTipo()
        {
            clsCombos objCombo = new clsCombos();
            strsql = "Execute Prod_Cbo";
            if (objCboProducto == null)
            {
                strError = "No definio el combo";
                return false;
            }
            objCombo.SQL = strsql;
            objCombo.cboGenericoWeb = objCboProducto;
            objCombo.NombreTabla = "tblProducto";
            objCombo.ColumnaTexto = "strNombre_PROD";
            objCombo.ColumnaValor = "intCodigo_PROD";

            if (objCombo.LlenarComboWeb())
            {
                objCboProducto = objCombo.cboGenericoWeb;
                objCombo = null;
                return true;
            }
            else
            {
                strError = objCombo.Error;
                objCombo = null;
                return false;
            }

        }
        public bool LlenarCombo()
        {
            clsCombos objCombo = new clsCombos();
            strsql = "Execute Prod_Cbo";
            if (objcboproductoest == null)
            {
                strError = "No definio el combo";
                return false;
            }
            objCombo.SQL = strsql;
            objCombo.cboGenericoWeb = objcboproductoest;
            objCombo.NombreTabla = "tblProducto";
            objCombo.ColumnaTexto = "strNombre_PROD";
            objCombo.ColumnaValor = "intCodigo_PROD";

            if (objCombo.LlenarComboWeb())
            {
                objcboproductoest = objCombo.cboGenericoWeb;
                objCombo = null;
                return true;
            }
            else
            {
                strError = objCombo.Error;
                objCombo = null;
                return false;
            }

        }
        #endregion Metodos Publicos

        #region Metodos Privados
        private bool Validar()
        {
            if (intcodprod == 0)
            {
                strError = "Falta ingresar el Codigo";
                return false;
            }
            return true;

            if (strNombreProd == "")
            {
                strError = "Falta ingresar el Nombre";
                return false;
            }
            return true;

            if (intValorProd == 0)
            {
                strError = "Falta ingresar El Valor";
                return false;
            }
            return true;

            if (intCodTiPro == 0)
            {
                strError = "Falta ingresar El CodigoTipoProd";
                return false;
            }
            return true;
        }
        #endregion Metodos Privados
    }
}
